﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Inventario.Acceso_Datos.Acceso_DatosTableAdapters;
namespace Inventario.Negocio
{
    public class Ingreso_Cabecera_Detalle_Factura
    {

        public int ProveedorId { get; set; }
        public DateTime Fecha { get; set; }
        public int EmpleadoId { get; set; }

        public int cabeceraFactura { get; set; }
        public int productoid { get; set; }
        public int cantidad { get; set; }
        public decimal precio { get; set; }
        public int iva { get; set; }
        public string nombreproducto { get; set; }
        public string NumeroDocumento { get; set; }
        public int DetalleFacturaId { get; set; }
        public decimal PrecioTotal { get; set; }



        public string Ingreso_Cabecera_Factura(Ingreso_Cabecera_Detalle_Factura _cabecera)
        {
            string mensaje = "Datos Almacenados Correctamente";
            try
            {
                QueriesTableAdapter tabla = new QueriesTableAdapter();
                tabla.spIngresoCabeceraFactura(_cabecera.ProveedorId, _cabecera.Fecha, _cabecera.EmpleadoId, _cabecera.NumeroDocumento);
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
            }
            return mensaje;
        }

        public string Ingreso_Detalle_Factura(Ingreso_Cabecera_Detalle_Factura detalle)
        {
            string mensaje = "Datos Almacenados Correctamente";
            try
            {
                QueriesTableAdapter tabla = new QueriesTableAdapter();
                tabla.spIngresoDetalleFactura(detalle.cabeceraFactura, detalle.productoid, detalle.cantidad, detalle.precio, detalle.PrecioTotal ,detalle.iva);
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
            }
            return mensaje;
        }



        public List<Ingreso_Cabecera_Detalle_Factura> ProductosFactura()
        {

            List<Ingreso_Cabecera_Detalle_Factura> lista = new List<Ingreso_Cabecera_Detalle_Factura>();

            spConsultaProductoFacturaTableAdapter tabla = new spConsultaProductoFacturaTableAdapter();

            foreach (var item in tabla.GetData().ToList())
            {
                lista.Add(new Ingreso_Cabecera_Detalle_Factura { cantidad = item.cantidad, nombreproducto = item.NombreProducto, precio = Convert.ToDecimal(item.precio), cabeceraFactura= item.CabeceraFacturaId, DetalleFacturaId= item.DetalleFacturaId, PrecioTotal= Convert.ToDecimal(item.PrecioTotal), productoid= item.ProductoId});
            }

            return lista;


        }


    }
}
